package com.homejoy.system.domain;

import java.math.BigDecimal;

import com.homejoy.common.annotation.Excel;
import com.homejoy.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 钱包对象 homejoy_wallet
 *
 * @author homeJoy
 * @date 2025-11-08
 */
public class HomejoyWallet extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 钱包ID
     */
    private Long walletId;

    /**
     * 钱包编号
     */
    @Excel(name = "钱包编号")
    private String walletNo;

    /**
     * 余额
     */
    @Excel(name = "余额")
    private BigDecimal balance;

    /**
     * 可用余额
     */
    @Excel(name = "可用余额")
    private BigDecimal availableBalance;

    /**
     * 冻结余额
     */
    @Excel(name = "冻结余额")
    private BigDecimal frozenBalance;

    /**
     * 币种
     */
    @Excel(name = "币种")
    private String currency;

    /**
     * 状态(1:正常 2:冻结 3:注销)
     */
    @Excel(name = "状态(1:正常 2:冻结 3:注销)")
    private Integer status;

    public void setWalletId(Long walletId) {
        this.walletId = walletId;
    }

    public Long getWalletId() {
        return walletId;
    }

    public void setWalletNo(String walletNo) {
        this.walletNo = walletNo;
    }

    public String getWalletNo() {
        return walletNo;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setAvailableBalance(BigDecimal availableBalance) {
        this.availableBalance = availableBalance;
    }

    public BigDecimal getAvailableBalance() {
        return availableBalance;
    }

    public void setFrozenBalance(BigDecimal frozenBalance) {
        this.frozenBalance = frozenBalance;
    }

    public BigDecimal getFrozenBalance() {
        return frozenBalance;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCurrency() {
        return currency;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("walletId" , getWalletId())
                .append("walletNo" , getWalletNo())
                .append("balance" , getBalance())
                .append("availableBalance" , getAvailableBalance())
                .append("frozenBalance" , getFrozenBalance())
                .append("currency" , getCurrency())
                .append("status" , getStatus())
                .append("createBy" , getCreateBy())
                .append("createTime" , getCreateTime())
                .append("updateBy" , getUpdateBy())
                .append("updateTime" , getUpdateTime())
                .toString();
    }
}
